var table = "";
var parentCode ="";
//模糊查询url
var likeUrl = "/dqueryConfig";
//模糊触发长度
var minChars=1;
$(function(){
	parentCode = request.QueryString("parentCode");// 点击左侧菜单传过来的按钮父节点
    sort = postAsyncAjaxText("/findCodeListAndMap", null).data;
    sort = eval("(" + sort + ")");
    sortCodeSelect() 
	table = $("#configList");
	initReload();
	initGrid();//初始化表格
	//初始化自动补全组件
	dynamicQuery(likeUrl);
});


//动态查询js，赋值自动补全属性
function dynamicQuery(url) {

	// 声明自动补全数组
	var dqueryBoxs = [];

	// 获取需要自动补全的集合
	var dquery = $(".dquery");

	// 遍历
	for (var i = 0; i < dquery.length; i++) {

		// 获取需要动态下拉的组件 jq对象
		var dqueryBox = $(dquery[i]);

		// 放入数组中 以name属性未命名
		dqueryBoxs[dqueryBox.attr("name")] = new Awesomplete(dqueryBox[0]);
		
		//触发长度
		dqueryBoxs[dqueryBox.attr("name")].minChars=minChars;
		// 显示条数
		dqueryBoxs[dqueryBox.attr("name")].maxItems = 10;

		// 绑定事件
		dqueryBox.on('input', function() {
			// 获取输入的值
			var value = $(this).val();

			// 输入值长度大于一的时候触发

			if (value.length > minChars-1) {
				var data = new Object();

				var name = $(this).attr("name");

				data[name] = value;

				$.ajax({
					type : "POST",
					url : url,
					data : data,
					async : true,
					success : function(msg) {

						// var awesomplete = new Awesomplete(this);

						if (msg.list) {

							var dataObj = [];
							msg.list.forEach(function(v) {
								dataObj.push(v[name]);
							});
							// 设置对应数据
							dqueryBoxs[name].list = dataObj;

						}

					},
					error : function(request) {
						// alert("加载超时！");
					}
				});

			}
		});
	}

}




function reloadGird() {
	gridReload("configList");
}
function initGrid(){
	var tableheight = $(window).height() - $('#searchForm').outerHeight();
	// 权限按钮
	var param = limitButton(parentCode);
	table.datagrid( {	
		height : tableheight,
		iconCls : 'icon-ok',
		pageSize : 20,
		pageList : [ 20, 40, 60, 80 ],
		striped : true,
		collapsible : false,
		remoteSort : true,// 服务器端排序
		fitColumns :true,
		singleSelect : true,
		showFooter:true,
		columns : [ [ {
			field : 'id',
			checkbox : true,
			hidden:true
		} ,  {
			field : 'name',
			title : '常量名称',
			width : 100,
			height:'auto',
			rowspan : 2,
			align : 'center'
		}, {
			field : 'value',
			title : '常量值',
			width : 80,
			rowspan : 2,
			align : 'center'
		}, {
			field : 'status',
			title : '常量状态',
			width : 60,
			rowspan : 2,
			align : 'center',
			formatter: function(value,row,index){
			
				return sort['018'][value]  ;
			}
		}, {
			field : 'type',
			title : '常量类型',
			width : 40,
			rowspan : 2,
			align : 'center'
		}, {
			field : 'described',
			title : '常量描述',
			width : 110,
			rowspan : 2,
			align : 'center'
		},{
			field : 'created',
			title : '创建时间',
			width : 60,
			rowspan : 2,
			align : 'center',
			formatter: function(value,row,index){
				return (new Date(row.created)).Format("yyyy-MM-dd hh:mm:ss");
			}
		},{
			field : 'updated',
			title : '修改时间',
			width : 60,
			rowspan : 2,
			align : 'center',
			formatter: function(value,row,index){
				return (new Date(row.updated)).Format("yyyy-MM-dd hh:mm:ss");
			}
		} 
		] ],
		toolbar:param,
		pagination : true,
		rownumbers : true,
		onBeforeLoad:function(param){
			
			var parameter = new Object();
			parameter =serializeJson($('#searchForm'));
			parameter.page = param.page;
			parameter.rows = param.rows;
			// 模糊查询字段
			parameter.likeQueryReflect = "described,name,value";
			
			var data = postAsyncAjax("/findConfigByPage", parameter);
			var dataGridData = new Object();
			dataGridData.rows = data.rows;//总记录数
			dataGridData.total = data.total;//总记录数
			table.datagrid('loadData', dataGridData);
		}
	});
	
		
}

	
	

	


/**添加按钮执行操作*/
addBean = function(uri) {
	var url = uri +"?id=1";
	topWindow(url, "新增",{width:800,height:350});
}


/**修改按钮执行操作*/
updateBean = function(uri) {
	var rows = table.datagrid('getSelected');
	if (null == rows) {
		$.messager.alert("消息提示", "至少选择一条记录", "warning");
		return;
	}
	var url = uri+"?id=" + rows.id;
	topWindow(url, "修改",{width:800,height:350});
}
//详情
detail = function(param){
 var codeListPanel = $("#codeListPanel"); 
 codeListPanel.layout('expand','south');  
	var rows = table.datagrid('getSelected');
	if(null == rows){
		$.messager.alert("消息提示","至少选择一条记录","warning");
		return;
	}
	var code = rows.code;
	var parameter = new Object();
	parameter.page = 1;
	parameter.rows = 20;
	parameter.sortCode = code;
	
	var data = postAsyncAjax("/selectByCode", parameter);
	var dataGridData = new Object();
	dataGridData.rows = data.rows;//总记录数
	dataGridData.total = data.total;//总记录数
	codeListTable.datagrid('loadData', dataGridData);
	
}

/**删除按钮执行操作*/
delBean = function(uri) {
	var rows = table.datagrid('getSelected');
	if(null == rows){
		$.messager.alert("消息提示","至少选择一条记录","warning");
		return;
	}
	$.messager.confirm('确认对话框', '确认删除？', function(r){
		if (r){
			var rows = table.datagrid('getSelected');
		   var data = postAsyncAjax(uri, {"id":rows.id});
		   if(data.returnCode=="00"){
			   top.showMessage("删除成功!");
			   reloadGird(); 
		   }else{
			   top.showMessage("<font color='red'>" + msg.returnMsg  + "</font>!");
		   }
		}
	});
}

initReload = function(){
	
	$("#btn").click(function(){
		table.datagrid("reload");
	});
	$("#btncancel").click(function(){
	   $('#searchForm').form('reset');
		table.datagrid("reload");
		
	});
}
//动态下拉框
function sortCodeSelect() {
var  sortCodeSelectList =	$(".sortCodeSelect");
	for(var i=0;i<sortCodeSelectList.length;i++){  
		
	    var sortCodeBox=$(sortCodeSelectList[i]);  
	    var data = new Object();
	    
		data.sortCode = sortCodeBox.attr("sortCode");
		var result = postAsyncAjax('/findCodeListByCondition', data);
		sortCodeBox.combobox({
			width : 88,
		    panelHeight : "auto",
			data : result,
			valueField : 'code',
			textField : 'name',
			editable : false,  
			loadFilter : function(data) {
				var obj = {};
				obj.code = '';
				obj.name = '-请选择-'
				data.splice(0, 0, obj)// 在数组0位置插入obj,不删除原来的元素
				return data;

			}
		
		});

		sortCodeBox.combobox('setValue', '');

		
	    
	} 
	

}


// 动态下拉框(多个)
	function comboboxSelect(url,selectItem,value,text,height,pwidth) {

		var result = postAsyncAjax(url);
		selectItem.combobox({
			width : pwidth,
		    panelHeight : height,
			data : result,
			valueField : value,
			textField : text,
			editable : false,
			loadFilter : function(data) {
				data = data.list;
				var obj = {};
				obj.passagewayNo = '';
				obj.name = '-请选择-'
				data.splice(0, 0, obj)// 在数组0位置插入obj,不删除原来的元素
				return data;

			}

		});

		selectItem.combobox('setValue', '');

}
